| category | facet | member functions |
|---|---|---|
| collate | collate | compare , hash , transform |
| ctype | ctype | is , narrow , scan_is , scan_not , tolower , toupper , widen |
| codecvt | always_noconv , encoding , in , length , max_length , out , unshift | |
| monetary | moneypunct | curr_symbol , decimal_point , frac_digits , grouping , negative_sign , neg_format , positive_sign , pos_format , thousands_sep |
| money_get | get | |
| money_put | put | |
| numeric | numpunct | decimal_point , falsename , grouping , thousands_sep , truename |
| num_get | get | |
| num_put | put | |
| time | time_get | date_order , get_date , get_monthname , get_time , get_weekday , get_year (and get , since C++11) |
| time_put | put | |
| messages | messages | close , get , open |
1
2
3
4
5
6
// using facet member directly:
myvar = use_facet < numpunct<char> > (mylocale).decimal_point();
// alias facet:
const numpunct<char>& myfacet = use_facet < numpunct<char> > (mylocale);
myvar = myfacet.decimal_point();
"_byname". These facet types are used by the localization engine to construct the appropriate facet objects when a named locale object is constructed."do_". The implementation of the operation itself lies in the virtual protected member function (so that derived class can easily overwrite it), while the non-virtual public function may implement platform-specific functionality not related to the operation itself, but necessary to allow the feature to work properly on the system.char and wchar_t types as template parameters for the facet's character type.char and wchar_t types as template parameters for the facet's character type. Additionally, the codecvt facet is also required to support char16_t and char32_t.